<?php namespace Common\Model;
use Hdphp\Model\Model;
//文章管理模型
class Link extends Model{
	//指定表名,固定写法
    protected $table = "link";
	//自动验证
	protected $validate = array(
		//array(字段名,验证方法,错误信息,验证条件,验证时间);
		array('lname','required','友情链接名称不能为空',3,3),
		array('url','required','网址不能为空',3,3)
	);
	//自动完成
	protected $auto = array(
		//array(表单字段名,处理方法,方法类型,验证条件,处理时间) 
		//上传
		array('logo','logo','method',3,3),
		//时间戳
		array('addtime','time','function',3,1)
	);
	
	//如果上传成功
	public function logo(){
		if(isset($_FILES['logo']) && $_FILES['logo']['error'] != 4){
			//上传文件
			$files = Upload::type('jpg,png,gif')->size(2000000)->make();
			//如果上传成功，返回相对路径
			if($files){
				//处理缩略图文件名
				$newpath = str_replace('.' . $files[0]['ext'], '_logo.' . $files[0]['ext'], $files[0]['path']);
				//缩略，返回缩略图的地址
				$logoPath = Image::thumb($files[0]['path'],$newpath,200,200,2);
				//存到数据库
				return $logoPath;
			}
		}
		//编辑的时候：如果有隐藏域($_POST['$logo'])的时候，那么就是返回旧地址
		if($logo = Q('post.logo')){
			return $logo;
		}
		//如果用户没有上传，返回字符串
		return '';
	}
	
	//自定义的store方法
	public function store(){
		//1.验证友链表
		if(!$this->create()) return false;
		//2.如果缩略图上传失败
		if($error = Upload::getError()){
			//把错误压入当前错误模型
			$this->error = $error;
			return false;
		}
		$this->add();
		return true;
	}
	
	//自定义的编辑edit方法
	public function edit(){
		//1.验证友链表
		if(!$this->create()) return false;
		//2.如果缩略图上传失败
		if($error = Upload::getError()){
			$this->error = $error;
			return false;
		}
		$this->save();
		return true;
	}
	
}